A user device can include applications (e.g., “virtual agents”) that provide assistance to a user of the user device in performing particular actions, such as sending messages, placing calls, providing recommendations, accessing content, and/or the like. A virtual agent can perform the particular actions by interacting with other applications, searching information that is local to the user device (e.g., stored by the user device), and/or by delegating a request to another device (e.g., a web server) that is remote from the user device.